
using System;

namespace NuevoGenNHibernate.EN.Ebay
{
public class CompraloYAEN               :                           NuevoGenNHibernate.EN.Ebay.VentaEN


{
/**
 *
 */

private int stock;

/**
 *
 */

private Nullable<DateTime> fechaFin;





public virtual int Stock {
        get { return stock; } set { stock = value;  }
}


public virtual Nullable<DateTime> FechaFin {
        get { return fechaFin; } set { fechaFin = value;  }
}





public CompraloYAEN() : base ()
{
}



public CompraloYAEN(int id_venta, int stock, Nullable<DateTime> fechaFin, bool finalizado, NuevoGenNHibernate.Enumerated.Ebay.TipoDePagoEnum formaDePago, Nullable<DateTime> fecha, string nombre, string descripcion, float precioFinal, float gastosEnvio, NuevoGenNHibernate.EN.Ebay.UsuarioEN vendedor, NuevoGenNHibernate.EN.Ebay.UsuarioEN comprador, NuevoGenNHibernate.EN.Ebay.UsuarioEN usuario, NuevoGenNHibernate.EN.Ebay.PagoEN pago, System.Collections.Generic.IList<NuevoGenNHibernate.EN.Ebay.VotacionEN> votacion, System.Collections.Generic.IList<NuevoGenNHibernate.EN.Ebay.LineaVentaEN> lineaVenta)
{
        this.init (id_venta, stock, fechaFin, finalizado, formaDePago, fecha, nombre, descripcion, precioFinal, gastosEnvio, vendedor, comprador, usuario, pago, votacion, lineaVenta);
}


public CompraloYAEN(CompraloYAEN compraloYA)
{
        this.init (compraloYA.Id_venta, compraloYA.Stock, compraloYA.FechaFin, compraloYA.Finalizado, compraloYA.FormaDePago, compraloYA.Fecha, compraloYA.Nombre, compraloYA.Descripcion, compraloYA.PrecioFinal, compraloYA.GastosEnvio, compraloYA.Vendedor, compraloYA.Comprador, compraloYA.Usuario, compraloYA.Pago, compraloYA.Votacion, compraloYA.LineaVenta);
}

private void init (int id_venta, int stock, Nullable<DateTime> fechaFin, bool finalizado, NuevoGenNHibernate.Enumerated.Ebay.TipoDePagoEnum formaDePago, Nullable<DateTime> fecha, string nombre, string descripcion, float precioFinal, float gastosEnvio, NuevoGenNHibernate.EN.Ebay.UsuarioEN vendedor, NuevoGenNHibernate.EN.Ebay.UsuarioEN comprador, NuevoGenNHibernate.EN.Ebay.UsuarioEN usuario, NuevoGenNHibernate.EN.Ebay.PagoEN pago, System.Collections.Generic.IList<NuevoGenNHibernate.EN.Ebay.VotacionEN> votacion, System.Collections.Generic.IList<NuevoGenNHibernate.EN.Ebay.LineaVentaEN> lineaVenta)
{
        this.Id_venta = id_venta;


        this.Stock = stock;

        this.FechaFin = fechaFin;

        this.Finalizado = finalizado;

        this.FormaDePago = formaDePago;

        this.Fecha = fecha;

        this.Nombre = nombre;

        this.Descripcion = descripcion;

        this.PrecioFinal = precioFinal;

        this.GastosEnvio = gastosEnvio;

        this.Vendedor = vendedor;

        this.Comprador = comprador;

        this.Usuario = usuario;

        this.Pago = pago;

        this.Votacion = votacion;

        this.LineaVenta = lineaVenta;
}

public override bool Equals (object obj)
{
        if (obj == null)
                return false;
        CompraloYAEN t = obj as CompraloYAEN;
        if (t == null)
                return false;
        if (Id_venta.Equals (t.Id_venta))
                return true;
        else
                return false;
}

public override int GetHashCode ()
{
        int hash = 13;

        hash += (null == Id_venta ? 0 : this.Id_venta.GetHashCode ());
        return hash;
}
}
}
